1
De l'isolation des espaces de noms aux systèmes de modules robustes
AI020Lesson 6
00:00

Dans les premiers développements en JavaScript, Pollution des espaces de noms constituait un obstacle majeur. Lorsque du code non lié partage un ensemble unique de noms de variables globales, des collisions imprévisibles surviennent. La conception moderne passe d'une attitude désordonnée à des systèmes de modules isolés.

1. Isolement fonctionnel (IIFE)

En enveloppant le code dans une Expression de fonction immédiatement appelée (IIFE), nous créons un espace local privé. Les variables telles que noms restent enfermées à l'intérieur de la fonction, et sont inaccessibles depuis l'environnement global.

(function() {
var interne = "secret";
console.log(interne);
})();

2. Interfaces basées sur les objets

Pour fournir une fonctionnalité au monde extérieur, un module retourne un objet agissant comme son interface publique. Cela regroupe les méthodes liées (comme nom et nombre) sous une seule variable globale réutilisée.

Espace local[tableau des noms]Interfacenom(), nombre()

3. Le modèle d'exports

Une variation sophistiquée consiste à passer un exports objet dans l'IIFE. Cela permet au module d'attacher directement son API à une cible d'espace de noms spécifique, offrant ainsi une flexibilité quant à la manière dont le module est utilisé.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>